In today's information age, it is common for multiple computers to be internetworked over a communication network. Each computer has one or more processors, and runs various software applications on each processor. In certain situations, it is necessary for an application running on one processor in one computer to interoperate with a peer application running on another processor in the same or a different computer.
Typically, peer applications running on different processors within the same computer utilize a different communication mechanism than peer applications running on different processors within different computers. For example, peer applications running on different processors within the same computer may utilize operating system mechanisms to communicate, while peer applications running on different processors within different computers may utilize a communication protocol to communicate. This makes it difficult to write applications for the computers, since the applications must support different communication mechanisms.
Thus, there is a need for an interprocessor communication mechanism that enables an application running on one processor in a computer to communicate with a peer application running on a different processor in the same or a different computer.